package com.tanhua.dubbo.api;

import com.tanhua.model.enums.LikeType;
import com.tanhua.model.mongo.Comment;
import com.tanhua.model.mongo.Video;
import com.tanhua.model.vo.PageResult;

import java.util.List;

public interface VideoApi {

    //保存视频
    String save(Video video);

    //根据vid查询数据列表
    List<Video> findMovementsByVids(List<Long> vids);

    //分页查询数据列表
    List<Video> queryVideoList(int page, Integer pagesize);

    //根据用户id查询
    PageResult findByUserId(Integer page, Integer pagesize, Long userId);

    // 视频互动，包括点赞、评论、喜欢
//    void videoInteractive(Comment comment, LikeType like);

    /**
     * 与视频的积极的互动，包括对视频点赞、评论、喜欢
     * @param comment 本次互动的Comment实体对象
     * @param like LikeType枚举，LIKE表示点赞、发布评论、喜欢，DISLIKE表示取消点赞、删除评论、取消喜欢
     */
    void videoPositiveComment(Comment comment, LikeType like);

    /**
     * 与视频的消极的互动，包括取消点赞、删除评论、取消喜欢
     * @param comment 本次互动的Comment实体对象
     * @param like LikeType枚举，LIKE表示点赞、发布评论、喜欢，DISLIKE表示取消点赞、删除评论、取消喜欢
     */
    void videoNegativeComment(Comment comment, LikeType like);
}
